//
//  MianTabBar.swift
//  hweibo
//
//  Created by MoChen on 16/3/6.
//  Copyright © 2016年 MoChen. All rights reserved.
//

import UIKit

class MianTabBar: UITabBar {

    //父类有这个方法 子类需要做其他的操作 需要重写父类的方法
    override init(frame: CGRect) {
        super.init(frame: frame)
        addSubview(plusBtn)
    }

    //从xib / sb中加载视图控件的时候会调用这个方法
    //在swift中 如果实现了默认的构造函数 编译器会认为该控件只支持手写代码创建
    //如果该视图从xib中加载 程序会崩溃
    required init?(coder aDecoder: NSCoder) {
        //fatal（致命的） 默认是 现报错 可以注销该默认报错的代码 让当前控件支持从xib / sb中加载
//        fatalError("init(coder:) has not been implemented")
        super.init(coder: aDecoder)
    }
    
    override func layoutSubviews() {
        super.layoutSubviews()
        let w = UIScreen.mainScreen().bounds.width / 5
        let h = self.bounds.height
        let rect = CGRect(x: 0, y: 0, width: w, height: h)
        
        //定义一个递增的索引
        var index: CGFloat = 0
        for subView in subviews {
            if subView.isKindOfClass(NSClassFromString("UITabBarButton")!) {
            subView.frame = CGRectOffset(rect, index * w, 0)
                index += (index == 1 ? 2 :1)
            }
        }
        plusBtn.frame = CGRectOffset(rect, 2 * w, 0)
     }
    //MARK：懒加载子视图
    lazy var plusBtn: UIButton = {
        //UIbutt（）就是自定义样式的按钮
        let btn = UIButton()
        btn.setBackgroundImage(UIImage(named: "tabbar_compose_button"), forState: .Normal)
        btn.setBackgroundImage(UIImage(named: "tabbar_compose_button_highlighted"), forState: .Highlighted)
        btn.setBackgroundImage(UIImage(named: "tabbar_compose_icon_add"), forState: .Normal)
        btn.setBackgroundImage(UIImage(named: "tabbar_compose_icon_add_highlighted"), forState: .Highlighted)
        return btn
    }()

}
